package com.hsurosy.domain.strategy.service;

import com.hsurosy.domain.strategy.model.entity.RaffleAwardEntity;
import com.hsurosy.domain.strategy.model.entity.RaffleFactorEntity;

/**
 * @Author Hsu琛君珩
 * @Date 2024-10-17 15:50
 * @Description 抽奖策略接口
 * @Version: v1.0.0
 */
public interface IRaffleStrategy {

    /**
     * 根据抽奖因子执行抽奖策略，返回抽中的奖品信息。
     *
     * @param raffleFactorEntity 抽奖因子实体，包含用户信息及其他因素
     * @return 抽中的奖品实体
     */
    RaffleAwardEntity performRaffle(RaffleFactorEntity raffleFactorEntity);

}
